<?php
/**
 * API 路由注解部分
 */
use think\facade\Route;
use app\api\middleware\Check;
use app\common\lib\Show;

// 无需登录部分
Route::group(function(){
    // 验证码获取
    Route::post('smscode', 'sms/code');

    // 登陆部分
    Route::group('login', function(){
        // 登录页面
        Route::post('index', 'login/index');
        // 登陆检测报错页面
        Route::any('error', function(){
            return Show::error('请登陆后再试!');
        });
    });

    // 登录退出
    Route::get('logout/index', 'logout/index');

    // 商品分类部分
    Route::group(function(){
        // 获取所有分类信息
        Route::get('category/index', 'category/index');
        // 当前分类信息搜索
        Route::get('category/search/:id', 'category/search')->pattern(['id' => '\d+']);
        // 查找二级分类的子分类
        Route::get('subcategory/:id', 'category/subcategory')->pattern(['id' => '\d+']);
    });

    // mall 部分
    Route::group(function(){
        // 查找当前分类分页商品信息
        Route::get('lists', 'mall.Lists/index');
        // 商品详情页信息查找
        Route::get('detail/:id', 'mall.detail/index')->pattern(['id' => '\d+']);
    });

    // 首页
    Route::group('index', function(){
        // 首页推荐商品
        Route::get('getRotationChart', 'index/getRotationChart');
        // 首页展示分类商品
        Route::get('cagegoryGoodsRecommend', 'index/cagegoryGoodsRecommend');
    });

});

// 需要登录部分
Route::group(function(){
    // 登录初始化部分
    Route::post('mall.init', 'mall.init/index');

    // 用户信息部分
    Route::group(function(){
        // 获取用户信息
        Route::get('user', 'user/index');
        // 用户信息修改
        Route::put('user/:id', 'user/update')->pattern(['id' => '[\d]+']);
    });

    // 退出登录
    Route::get('logout/index', 'logout/index');

    // 购物车部分
    Route::group(function(){
        // 商品数据添加
        Route::post('cart/add', 'cart/add');
        // 商品数据删除
        Route::post('cart/delete', 'cart/delete');
        // 商品数据修改
        Route::post('cart/update', 'cart/update');
        // 商品数据列表
        Route::get('cart/lists', 'cart/lists');
    });

    // 订单部分
    Route::group(function(){
        // 订单提交
        Route::post('order', 'order.index/save');
        // 获取订单信息
        Route::get('order/:id', 'order.index/read')->pattern(['id' => '\d+']);
    });

    // 用户地址
    Route::group(function(){
        // 获取用户地址
        Route::get('address', 'address/index');
        // 用户地址添加
        Route::post('address/save', 'address/save');
        // 用户单条地址读取
        Route::post('address/read/:id', 'address/read')->pattern(['id' => '\d+']);
        // 用户单条地址修改
        Route::put('address/update/:id', 'address/update')->pattern(['id' => '\d+']);
        // 用户单条地址删除
        Route::post('address/delete/:id', 'address/delete')->pattern(['id' => '\d+']);
        // 用户修改默认地址
        Route::post('address/updateDefault/:id', 'address/updateDefault')->pattern(['id' => '\d+']);
    });
})->middleware([Check::class]);
